Audio reproduction device target sound signature

ABSTRACT

A system for tuning an audio reproduction device is disclosed. The system includes an audio signal generator for generating an audio signal to be played back in an audio reproduction device and sending the audio signal to the audio reproduction device; a microphone signal module for receiving a microphone signal from a microphone, the microphone signal recording a sound wave reproduced by the audio reproduction device when the audio signal is played back in the audio reproduction device; a comparison module for determining whether the microphone signal matches target sound signature data; and a filter module for applying a digital filter to emulate a target sound signature responsive to determining that the microphone signal does not match the target sound signature data.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims priority under 35 USC §119(e) to U.S.Provisional Application No. 61/584,748, entitled “Audio ReproductionDevice,” filed Jan. 9, 2012, the entirety of which is incorporated intothis document by reference.

TECHNICAL FIELD

The specification relates to audio reproduction devices. In particular,the specification relates to interacting with audio reproductiondevices.

BACKGROUND

Users can listen to music using a music player and a headset. When usingan audio reproduction device such as a headset to listen to music, auser may want to improve sound quality in the audio reproduction device.A user may also want to look for new audio reproduction devices and newmusic that match the user's interest. It is desirable to improve soundquality in an audio reproduction device when a user uses the audioreproduction device to listen to music. It is also desirable to providedevice recommendation and/or music recommendation to a user.

BRIEF SUMMARY

A system for tuning an audio reproduction device is disclosed. Thesystem includes: an audio signal generator for generating an audiosignal to be played back in an audio reproduction device and sending theaudio signal to the audio reproduction device; a microphone signalmodule for receiving a microphone signal from a microphone, themicrophone signal recording a sound wave reproduced by the audioreproduction device when the audio signal is played back in the audioreproduction device; a comparison module for determining whether themicrophone signal matches target sound signature data; and a filtermodule for applying a digital filter to emulate a target sound signatureresponsive to determining that the microphone signal does not match thetarget sound signature data.

The system is particularly advantageous in numerous respects. Forexample, the system provides target sound signature data describing atarget sound signature and/or a sound signature within a target soundrange. The system tunes audio reproduction devices to reproduce a soundwave matching either the target sound signature or a sound signaturewithin the target sound range. The system also has numerous otheradvantages.

BRIEF DESCRIPTION OF THE DRAWINGS

The disclosure is illustrated by way of example, and not by way oflimitation in the figures of the accompanying drawings in which likereference numerals are used to refer to similar elements.

FIG. 1 illustrates a high-level block diagram of a product matchingsystem for determining one or more matching products for a useraccording to one embodiment.

FIG. 2 is a block diagram illustrating a product matching moduleaccording to one embodiment.

FIG. 3 is a flowchart illustrating a method for determining one or morematching products for a user according to one embodiment.

FIG. 4 is a graphic representation illustrating an example userinterface depicting one or more queries according to one embodiment.

FIG. 5 is a high-level block diagram of a tuning system for tuning anaudio reproduction device according to one embodiment.

FIG. 6 is a graphical representation illustrating an example of a tuningsystem according to one embodiment.

FIG. 7 is a block diagram illustrating a detailed view of an exampleaudio reproduction device according to one embodiment.

FIG. 8 is a block diagram illustrating a tuning module according to oneembodiment.

FIG. 9 is a graphical representation illustrating a target soundsignature and a target sound range according to one embodiment.

FIGS. 10A and 10B are flowcharts illustrating a method for tuning anaudio reproduction device according to one embodiment.

FIG. 11 is a graphical representation of an example audio reproductiondevice according to one embodiment.

FIG. 12 is a cross-sectional view of a cup assembly in an example audioreproduction device according to one embodiment.

FIG. 13 is a graphical representation of a cup in an example audioreproduction device according to one embodiment.

FIG. 14 is a graphical representation of an ear pad mounting bracket ofan example audio reproduction device according to one embodiment.

FIG. 15 is a graphical representation of an example driver mounted in acup housing according to one embodiment.

FIG. 16 is a graphical representation of a cup housing without a driveraccording to one embodiment.

FIG. 17 is a graphical representation of a cup housing without a driveraccording to another embodiment.

FIG. 18 is a graphical representation of a target sound signature and atarget sound range according to another embodiment.

DETAILED DESCRIPTION

FIG. 1 is a high-level block diagram illustrating a product matchingsystem 100 for determining one or more matching products for a useraccording to one embodiment. The product matching system 100 includes aserver 110 and one or more first clients 104 a, 104 b . . . 104 n(referred to individually or collectively as first client 104) thatinteract with one or more first users 102 a, 102 b . . . 102 n (referredto individually or collectively as first user 102). The product matchingsystem 100 optionally includes a social network server 124. In theillustrated embodiment, the entities of the product matching system 100are communicatively coupled to each other via a network 122. Althoughonly three first clients 104 a, 104 b . . . 104 n and one server 110 areillustrated, the system 100 can include any number of first clients 104and any number of servers 110. While a single network 122 is shown inFIG. 1, the product matching system 100 may include any number ofnetworks 122.

The first client 104 a is communicatively coupled to the network 122 viasignal line 107. The first client 104 b is communicatively coupled tothe network 122 via signal line 109. The first client 104 n iscommunicatively coupled to the network 122 via signal line 111. Theserver 110 is communicatively coupled to the network 122 via signal line113. The social network server 124 is communicatively coupled to thenetwork 122 via signal line 115. In one embodiment, signal lines 107,109, 111, 113 and 115 are wireless connections such as wireless LocalArea Network (LAN) connections, BLUETOOTH® connections, etc. In anotherembodiment, signal lines 107, 109, 111, 113 and 115 are wiredconnections such as connections via a cable, a landline, etc. In yetanother embodiment, signal lines 107, 109, 111, 113 and 115 are anycombination of wireless connections and wired connections.

The first client 104 is any processor-based computing device. The firstclient 104 executes client software such as a web browser or built-inclient application and connects to the server 110 via the network 122.In one embodiment, the first client 104 includes a variety of differentcomputing devices. Examples of a first client device 104 include, butare not limited to: a personal computer; a personal digital assistant; atelevision set-top box; a tablet computer; a cell phone (e.g., asmartphone); a laptop computer; a portable music player; a video gameplayer; and any other electronic device including a processor and amemory. The first client 104 includes a processor (not shown), a memory(not shown) and other components conventional to a computing device. Afirst user 102 interacts with a first client 104. A first user 102 is,for example, a human user.

The server 110 is any computing device having a processor (not shown)and a computer-readable storage medium (not shown) storing data forproviding matching products to users. In the depicted embodiment, theserver 110 includes an interface module 112, a product matching module114, a first Graphical User Interface (GUI) module 116 and a firststorage device 118. In one embodiment, the components of the server 110are communicatively coupled to each other.

The interface module 112 is an interface for connecting the server 110to a network 122. For example, the interface module 112 is a networkadapter that connects the server 110 to the network 122. In oneembodiment, the interface module 112 includes code and routines forhandling communication between components of the server 110 and otherentities of the product matching system 100. For example, the interfacemodule 112 receives data from a first client 104 via the network 122 andsends the data to the product matching module 114. In another example,the interface module 112 receives graphical data for depicting a userinterface from the first GUI module 116 and sends the graphical data toa first client 104 via the network 122, causing the first client 104 topresent the user interface to a first user 102.

In one embodiment, the interface module 112 includes a port for directphysical connection to the network 122 or to another communicationchannel. For example, the interface module 112 includes a UniversalSerial Bus (USB), category 5 cable (CAT-5) or similar port for wiredcommunication with the network 122. In another embodiment, the interfacemodule 112 includes a wireless transceiver for exchanging data with thenetwork 122, or with another communication channel, using one or morewireless communication methods, such as IEEE 802.11, IEEE 802.16,BLUETOOTH®, near field communication (NFC) or another suitable wirelesscommunication method. In one embodiment, the interface module 112includes an NFC chip that generates a radio frequency (RF) forshort-range communication.

In some embodiments, the interface module 112 includes a cellularcommunications transceiver for sending and receiving data over acellular communications network including via short messaging service(SMS), multimedia messaging service (MMS), hypertext transfer protocol(HTTP), direct data connection, wireless application protocol (WAP),email, or another suitable type of electronic communication. In someembodiments, the interface module 112 also provides other conventionalconnections to the network 122 for distribution of files and/or mediaobjects using standard network protocols including TCP/IP, HTTP, HTTPSand SMTP, etc.

The product matching module 114 is code and routines for determining oneor more matching products for a first user 102. In one embodiment, theproduct matching module 114 includes code and routines stored in anon-chip storage (not shown) of a processor (not shown) included in theserver 110. In another embodiment, the product matching module 114 isimplemented using hardware such as a field-programmable gate array(FPGA) or an application-specific integrated circuit (ASIC). In yetanother embodiment, the product matching module 114 is implemented usinga combination of hardware and software. The product matching module 114is described below in more detail with reference to FIGS. 2 and 3.

A matching product can be an audio reproduction device that matchesanswers provided by the first user 102 for one or more queries. Examplesof the queries are shown below in FIG. 4. In one embodiment, a matchingproduct is a product that matches a first user's 102 interest. Forexample, a matching product is a headset that a first user 102 has addedto a “wish list.” In another example, a matching product is an albumissued by the first user's 102 favorite band.

An audio reproduction device can be any type of audio reproductiondevice such as a headphone device, an earbud device, a speaker dock, aspeaker system, a super-aural and a supra-aural headphone device, anin-ear headphone device, a headset or any other audio reproductiondevice, etc. In one embodiment, the audio reproduction device is aproduct that is sold by an entity associated with the product matchingsystem.

The first GUI module 116 is code and routines for generating graphicaldata for providing a GUI to a first user 102. In one embodiment, thefirst GUI module 116 retrieves data (e.g., query data, suggestion data)from the first storage 118 and generates graphical data for providing aGUI to a first user 102 based on the retrieved data. The query data andthe suggestion data are described below with reference to FIG. 2. Inanother embodiment, the first GUI module 116 receives data describingone or more matching products and generates graphical data for providinga GUI depicting the one or more matching products. The first GUI module116 sends the graphical data to the interface module 112. The interfacemodule 112 sends the graphical data to a first client 104, causing thefirst client 104 to present the GUI to a first user 102.

The first storage device 118 is a non-transitory memory that storesdata. For example, the first storage device 118 is a dynamic randomaccess memory (DRAM) device, a static random access memory (SRAM)device, Flash memory or some other memory device. In one embodiment, thefirst storage device 118 also includes a non-volatile memory or similarpermanent storage device and media such as a hard disk drive, a floppydisk drive, a compact disc read only memory (CD-ROM) device, a digitalversatile disc read only memory (DVD-ROM) device, a digital versatiledisc random access memory (DVD-RAM) device, a digital versatile discrewritable (DVD-RW) device, a Flash memory device, or some othernon-volatile storage device. The first storage device 118 is describedbelow in more detail with reference to FIG. 2.

The network 122 is a conventional type of network, wired or wireless,and may have any number of configurations such as a star configuration,token ring configuration or other configurations. In one embodiment, thenetwork 122 includes one or more of a local area network (LAN), a widearea network (WAN) (e.g., the Internet) and/or any other interconnecteddata path across which multiple devices communicate. In anotherembodiment, the network 122 is a peer-to-peer network. The network 122is coupled to or includes portions of a telecommunications network forsending data in a variety of different communication protocols. Forexample, the network 122 is a 3G network or a 4G network. In yet anotherembodiment, the network 122 includes BLUETOOTH® communication networksor a cellular communication network for sending and receiving data suchas via short messaging service (SMS), multimedia messaging service(MMS), hypertext transfer protocol (HTTP), direct data connection,wireless application protocol (WAP), email, etc. In yet anotherembodiment, all or some of the links in the network 122 are encryptedusing conventional encryption technologies such as secure sockets layer(SSL), secure HTTP and/or virtual private networks (VPNs).

The social network server 124 is any computing device having a processor(not shown) and a computer-readable storage medium (not shown) storingdata for providing a social network to users. Although only one socialnetwork server 124 is shown in FIG. 1, multiple social network servers124 may be present. A social network is any type of social structurewhere the users are connected by a common feature including friendship,family, work, an interest, etc. The common features are provided by oneor more social networking systems, such as those included in the productmatching system 100, including explicitly-defined relationships andrelationships implied by social connections with other users, where therelationships are defined in a social graph. The social graph is amapping of all users in a social network and how they are related toeach other.

In the depicted embodiment, the social network server 124 includes asocial network application 126. The social network application 126includes code and routines stored on a memory (not shown) of the socialnetwork server 124 that, when executed by a processor (not shown) of thesocial network server 124, causes the social network server 124 toprovide a social network accessible by a first client 104 via thenetwork 122. In one embodiment, a first user 102 publishes comments onthe social network. For example, a first user 102 provides a briefreview of a headset product on the social network and other first users102 post comments on the brief review. In another embodiment, a firstuser 102 marks a product as a “liked” product on a social network.Social activities that a first user 102 performs on a social networkinclude, but are not limited to, posting a comment on a product review,endorsing a product, publishing a post related to a product, conductinga review for a product and adding a playlist including one or morefavorite pieces of music, etc. In one embodiment, the product matchingmodule 114 determines a product that matches a first user's 102 interestand the matching product is posted on the social network in associationwith the first user's 102 social network account.

Referring now to FIG. 2, an example of the product matching module 114is shown in more detail. FIG. 2 is a block diagram illustrating a server110 that includes a product matching module 114, a processor 235, amemory 237, an interface module 112, a first storage 118 and a first GUImodule 116 according to some embodiments. The components of the server110 are communicatively coupled to each other via a bus 220. Forexample, the processor 235 is communicatively coupled to the bus 220 viasignal line 234. The memory 237 is communicatively coupled to the bus220 via signal line 236. The interface module 112 is communicativelycoupled to the bus 220 via signal line 228. The first storage 118 iscommunicatively coupled to the bus 220 via signal line 238. The firstGUI module 116 is communicatively coupled to the bus 220 via signal line222.

The processor 235 includes an arithmetic logic unit, a microprocessor, ageneral purpose controller or some other processor array to performcomputations and retrieve data stored on the first storage 118, etc. Theprocessor 235 processes data signals and may include various computingarchitectures including a complex instruction set computer (CISC)architecture, a reduced instruction set computer (RISC) architecture, oran architecture implementing a combination of instruction sets. Althoughonly a single processor 235 is shown in FIG. 2, multiple processors 235may be included. The processing capability may be limited to supportingthe display of images and the capture and transmission of images. Theprocessing capability might be enough to perform more complex tasks,including various types of feature extraction and sampling. In otherembodiments, other processors, operating systems, sensors, displays andphysical configurations are possible.

The memory 237 stores instructions and/or data that may be executed bythe processor 235. The instructions and/or data may include code forperforming any and/or all of the techniques described herein. The memory237 may be a dynamic random access memory (DRAM) device, a static randomaccess memory (SRAM) device, Flash memory or some other memory device.In one embodiment, the memory 237 also includes a non-volatile memory orsimilar permanent storage device and media such as a hard disk drive, afloppy disk drive, a CD-ROM device, a DVD-ROM device, a DVD-RAM device,a DVD-RW device, a Flash memory device, or some other mass storagedevice for storing information on a more permanent basis.

In the illustrated embodiment, the first storage 118 stores data thatincludes matching data 243, GUI data 245, query data 247 and answer data249. In one embodiment, the matching data 243 is stored in a table 239.In another embodiment, the matching data 243 is stored in a database241. The table 239 and the database 241 are depicted using dashed linesto indicate that they are optional features.

The table 239 is a table for storing the matching data 243. In oneembodiment, the table 239 includes one or more rows and/or one or morecolumns for storing data describing one or more products. For example,the table 239 stores data describing the color, price, features andtechnical specifications for a product. In one embodiment, a product isan audio reproduction device such as headphones, a headset, a speaker, asuper-aural and a supra-aural headphone device, an in-ear headphonedevice, an earbud headphone device, a speaker dock or any other audioreproduction device.

The database 241 stores the matching data 243. In one embodiment, thedatabase 241 stores data describing one or more products. For example,the database 241 stores data describing the color, price, features andtechnical specifications for a product. The database 241 may store anyother data for providing the functionality described herein.

The matching data 243 is data describing one or more products. Forexample, the matching data 243 includes data describing the color,price, features and technical specifications for one or more products.In one embodiment, the features for a product include one or more of aconnection type (e.g., corded, wireless, etc.), a wearing style (e.g.,over-the-head, over-the-ear or convertible between over-the-head andover-the-ear, etc.) and an ear style (e.g., single ear version, dual earversion, etc.). In some embodiments, other features such as including abuilt-in microphone (e.g., noise-cancelling microphone) are possible. Inone embodiment, the matching data 243 is utilized by the productmatching module 114 to determine a product that best matches the answersprovided by a first user 102.

The GUI data 245 is graphical data for providing one or more GUIs to afirst user 102. For example, the GUI data 245 includes graphical datafor providing a GUI that depicts a questionnaire including one or morequeries for the first user 102. In some embodiments, the GUI data 245may include any other graphical data for depicting the GUIs describedherein (e.g., the GUI depicted below in FIG. 4).

The query data 247 is data describing one or more queries. For example,the query data 247 includes data describing one or more queries that areprovided to the first user 102. Examples of the queries include, but arenot limited to: who is the first user's 102 favorite music artist; whatgenre of music the first user 102 likes; what price range the first user102 prefers; and what features the first user 102 prefers in a product(e.g., over-ear or in-ear style, noise-cancelling features, etc.).Examples of the queries are illustrated below in FIG. 4.

The answer data 249 is data describing one or more answers provided bythe first user 102 to the one or more queries. For example, the answerdata 249 includes data describing one or more answers to the queriespresented in a user interface. In one embodiment, the answer data 249includes data describing one or more comments provided by the first user102.

In the depicted embodiment shown in FIG. 2, the product matching module114 includes an intake module 201 and a determination module 203. Theintake module 201 is communicatively coupled to the bus 220 via signalline 224. The determination module 203 is communicatively coupled to thebus 220 via signal line 226.

The intake module 201 is code and routines that, when executed by theprocessor 235, receives answer data from a first user 102. In oneembodiment, the first GUI module 116 retrieves query data describing oneor more queries from the first storage 118 and generates graphical datafor providing a GUI that depicts the one or more queries. An example ofa GUI is shown in FIG. 4. The first GUI module 116 sends the graphicaldata to a first client 104, causing the first client 104 to present theGUI to the first user 102. The first user 102 answers the one or morequeries depicted in the GUI and provides the answer data describing theone or more answers to the interface module 112. The interface module112 sends the answer data to the intake module 201. In one embodiment,the intake module 201 stores the answer data in the first storage 118.In another embodiment, the intake module 201 sends the answer data tothe determination module 203.

The determination module 203 is code and routines that, when executed bythe processor 235, determines one or more matching products for a firstuser 102. In one embodiment, the determination module 203 receives theanswer data from the intake module 201. The determination module 203cross-references the matching data using the answer data and determinesone or more matching products for a first user 102 based on the answerdata. For example, the determination module 203 retrieves matching datafrom the first storage 118, compares the answer data to the matchingdata and determines one or more products described by the matching datathat best matches the answer data.

In one embodiment, the determination module 203 stores product datadescribing the one or more matching products in the first storage 118.In another embodiment, the determination module 203 sends the productdata to the first GUI module 116, causing the first GUI module 116 togenerate graphical data for providing a GUI that depicts the one or morematching products. The first GUI module 116 sends the graphical data tothe first client 104, causing the first client 104 to present thematching products to the first user 102 via the GUI.

FIG. 3 is a flowchart illustrating a method 300 for determining one ormore matching products for a first user 102 according to one embodiment.In the illustrated embodiment, the first GUI module 116 optionallyretrieves 301 query data from the first storage 118. The first GUImodule 116 generates 305 graphical data for providing a GUI that depictsone or more queries. In one embodiment, the first GUI module 116generates the graphical data based on the query data. The first GUImodule 116 sends 310 the graphical data to the interface module 112. Theinterface module 112 sends the graphical data to a first client 104,causing the first client 104 to present the GUI to a first user 102. Thefirst user 102 submits one or more answers to the one or more queriesvia the GUI, causing the first client 104 to send answer data describingthe one or more answers to the interface module 112 via the network 122.The intake module 201 receives 315 the answer data from the first client104 via the interface module 112. The determination module 203determines 320 one or more matching products for the first user 102based on the answer data. The determination module 203 sends 325 productdata describing the one or more matching products to the first client104 via the interface module 112 and the network 122, causing the firstclient 104 to present the one or more matching products to the firstuser 102.

FIG. 4 is a graphical representation illustrating a GUI 400 fordepicting one or more queries 402 according to one embodiment. In theillustrated embodiment, the one or more queries 402 request answers fora genre of music, a favorite artist, a price range, a color and acategory for a headset, etc. The GUI 400 also includes a comment box 404that allows a first user 102 to provide additional answer data. Thefirst user 102 answers the one or more queries included in the GUI 400and sends the answer data to the product matching module 114 by clickingon a “submit” button 450.

FIG. 5 is a high-level block diagram of a tuning system 500 for tuningan audio reproduction device according to one embodiment. The examplesystem 500 includes a second client 506 and an audio reproduction device504 that interacts with a second user 502. The entities of the system500 are communicatively coupled to each other. The audio reproductiondevice 504 is communicatively coupled to the second client 506 viasignal line 503. Although only one audio reproduction device 504 and onesecond client 506 are shown in FIG. 5, the system 500 may include anynumber of audio reproduction devices 504 and/or any number of secondclients 506. In one embodiment, the tuning system 500 tunes the audioreproduction device 504 to reproduce a sound wave that matches a targetsound signature. In another embodiment, the tuning system 500 tunes theaudio reproduction device 504 to reproduce a sound wave that matches asound signature within a target sound range. The target sound signatureand the target sound range are described below in more detail withreference to FIGS. 8, 9 and 18.

The audio reproduction device 504 is an apparatus for producing a soundwave from an audio signal. For example, the audio reproduction device504 is a headphone device, an earbud device, a speaker dock, an in-earheadphone device, a speaker device, etc. In one embodiment, the audioreproduction device 504 includes a cup, an ear pad coupled to a top edgeof the cup, a driver coupled to an inner wall of the cup, and amicrophone coupled to the wall of the cup. The audio reproduction device504 is further described below with reference to FIGS. 6 and 7 and11-17. In one embodiment, the audio reproduction device 504 isconfigured to reproduce a sound wave that matches a target soundsignature as illustrated in FIG. 9 or FIG. 18. In another embodiment,the audio reproduction device 504 is configured to reproduce a soundwave that matches a sound signature within a target sound range asillustrated in FIG. 9 or FIG. 18.

The second client 506 is any processor-based computing device capable ofplayback of audio files (MP3 files, AAC files, etc.). Examples of asecond client 506 include, but are not limited to: an audio player(e.g., any MP3 player); a personal computer; a personal digitalassistant; a television set-top box; a tablet computer; a smartphone; acell phone; and a laptop computer, etc. In one embodiment, the secondclient 506 performs the functionality described above for the firstclient 104 (FIG. 1). A second user 502 interacts with the second client506 and the audio reproduction device 504. The second user 502 is, forexample, a human user. In one embodiment, the second user 502 is thesame user as the first user 102 (FIG. 1). In another embodiment, thesecond user 502 is different from the first user 102.

In the illustrated embodiment, the second client 506 includes aprocessor 508, a memory 510, a tuning module 512, a second GUI module514 and a second storage device 516. The components of the second client506 are communicatively coupled to each other.

The processor 508 has similar structures and provides similarfunctionality as the processor 235 described above. The memory 510 hassimilar structures and provides similar functionality as the memory 237described above. The second storage 516 has similar structures andprovides similar functionality as the first storage 118 described above.The description will not be repeated here. The second storage 516 isfurther described below in more detail with reference to FIG. 8.

The tuning module 512 is code and routines that, when executed by theprocessor 508, tunes the audio reproduction device 504 to reproduce asound wave. In one embodiment, the reproduced sound wave matches atarget sound signature. In another embodiment, the reproduced sound wavematches a sound signature within a target sound range. In oneembodiment, the tuning module 512 includes code and routines stored inan on-chip storage (not shown) of the processor 508. In anotherembodiment, the tuning module 512 is implemented using hardware such asan FPGA or an ASIC. In yet another embodiment, the tuning module 512 isimplemented using a combination of hardware and software. The tuningmodule 512 is described below with reference to FIGS. 8, 10A and 10B.

The second GUI module 514 is code and routines that, when executed bythe processor 508, generates graphical data for providing a GUI to asecond user 502. For example, the second GUI module 514 receives datadescribing one or more suggestions from the tuning module 512 andgenerates graphical data for providing a GUI depicting the one or moresuggestions. The second GUI module 514 sends the graphical data to adisplay (not shown) communicatively coupled to the second client 506,causing the display to present the GUI to the second user 502. In oneembodiment, the display is included in the second client 506. In otherembodiments, the second GUI module 514 may generate any other graphicaldata for providing the functionality described herein.

FIG. 6 is a graphical representation 600 illustrating an example of atuning system 500 (FIG. 5) according to one embodiment. In theillustrated embodiment, the audio reproduction device 504 includes oneor more cups 602 a and 602 b (referred to individually or collectivelyas cup 602). In the depicted embodiment, the audio reproduction device504 is a headphone device and the cups 602 are components of theheadphone device. In one embodiment, the cup 602 is made in a variety ofshapes such as a circular shape, an oval shape, a rectangular shape andany other shapes. In one embodiment, the cup 602 is a molded polymer orresin that houses a headphone driver for producing a sound wave from anaudio signal. The cup 602 is further described below with reference toFIGS. 7 and 11-17.

The audio reproduction device 504 includes additional components thatare not depicted in FIG. 6. However, a person having ordinary skill inthe art will recognize that, in FIG. 6, the audio reproduction device504 is a headphone device. Further details of the headphone device aredepicted with reference to FIGS. 11-17. FIGS. 11-17 provide detailsabout a super-aural and a supra-aural headphone device. In oneembodiment, the audio reproduction device 504 is an in-ear headphonedevice, an earbud headphone device or a speaker dock or any other audioreproduction device.

FIG. 7 is a block diagram illustrating a detailed view of an exampleaudio reproduction device 504 according to one embodiment. In theillustrated embodiment, the audio reproduction device 504 is configuredto produce a sound wave that matches either a target sound signature ora sound signature within a target sound range as depicted in FIG. 9 orFIG. 18.

The example audio reproduction device 504 includes a cup 602, a driver702, an optional microphone 704 and an ear pad 706. The driver 702 is adevice for reproducing a sound wave from an audio signal. An exampledriver 702 is shown in FIG. 15. The microphone 704 is a device forrecording a sound wave generated by the driver 702 and generating amicrophone signal that describes the sound wave. The microphone 704transmits the microphone signal describing the sound wave to amicrophone signal module of the tuning system described below withreference to microphone signal module 803 of FIG. 8. In one embodiment,the microphone 704 is an inline microphone built into a wire thatconnects the audio reproduction device 504 to the second client 506. Theear pad 706 is a cushioned pad mounted on the cup 602. An example of anear pad 706 is illustrated in FIG. 13.

FIG. 8 is a block diagram illustrating a tuning module 512 according toone embodiment. The components of the second client 506 arecommunicatively coupled to a bus 820. The second GUI module 514 iscommunicatively coupled to the bus 820 via signal line 840. The secondstorage 516 is communicatively coupled to the bus 820 via signal line838. The processor 508 is communicatively coupled to the bus 820 viasignal line 834. The memory 510 is communicatively coupled to the bus820 via signal line 836.

In the illustrated embodiment, the tuning module 512 includes an audiosignal generator 801, a microphone signal module 803, a target soundsignature retrieval module 805, a comparison module 807, a suggestionmodule 809 and a filter module 811. The components of the tuning module512 are communicatively coupled to each other. The suggestion module 809and the filter module 811 are depicted using dashed lines to indicatethat they are optional features of the tuning module 512.

The audio signal generator 801 is code and routines that, when executedby the processor 508, generates an audio signal. The audio signalgenerator 801 is communicatively coupled to the bus 820 via signal line822. In one embodiment, the audio signal generator 801 retrieves theaudio signal data 841 from the second storage 516 and generates an audiosignal using the audio signal data 841. The audio signal data 841 isaudio data used to generate an audio signal. The audio signal generator801 sends the audio signal to the driver 702, causing the driver 702 toconvert the audio signal to a sound wave. In one embodiment, the audiosignal is configured to cause the audio reproduction device 504 togenerate sound. The audio signal generator 801 sends the audio signal toan audio reproduction device 504 that converts the audio signal to asound wave. In one embodiment, the sound wave has the same signature asa target sound signature. For example, the sound wave has the same soundpressure level as the target sound wave. In another embodiment, thesound wave has a sound signature within a target sound range. Forexample, the sound wave has a sound pressure level within the targetsound range. In yet another embodiment, the signature of the sound waveis neither the same as a target sound signature nor within a targetsound range. For example, the sound pressure level of the sound wave isoutside the target sound range.

The microphone signal module 803 is code and routines that, whenexecuted by the processor 508, receives a microphone signal from themicrophone 704 (FIG. 7). The microphone signal module 803 iscommunicatively coupled to the bus 820 via signal line 824. In oneembodiment, the microphone signal module 803 instructs the microphone704 to record a sound wave when the driver 702 (FIG. 7) is converting anaudio signal to the sound wave. The microphone 704 generates amicrophone signal describing the sound wave and sends the microphonesignal to the microphone signal module 803. In another embodiment, themicrophone 704 is an inline microphone built into a wire that connectsthe audio reproduction device 504 to the second client 506. A userplaces the inline microphone close to the driver 702, causing the inlinemicrophone to generate a microphone signal recording the sound wavegenerated by the driver 702. The microphone signal module 803 sends themicrophone signal to the comparison module 807.

The target sound signature retrieval module 805 is code and routinesthat, when executed by the processor 508, retrieves target soundsignature data 839 from the second storage 516. The target soundsignature retrieval module 805 is communicatively coupled to the bus 820via signal line 826. In one embodiment, the target sound signature data839 is data describing a target sound signature and/or a sound signaturewithin a target sound range. A sound signature is, for example, a soundpressure level of a sound wave. A target sound signature is a soundsignature of a target sound wave that an audio reproduction device 504aims to reproduce. For example, a target sound signature is a soundpressure level of a target sound wave. A target sound range is a rangewithin which a target sound signature lies in. In one embodiment, atarget sound range has a lower limit and an upper limit. Examples of atarget sound signature and a target sound range are illustrated in FIGS.9 and 18. In one embodiment, the target sound signature retrieval module805 retrieves the target sound signature data 839 from the secondstorage 516 and sends the target sound signature data 839 to thecomparison module 807.

The comparison module 807 is code and routines that, when executed bythe processor 508, determines whether a microphone signal matches thetarget sound signature data 839. The comparison module 807 iscommunicatively coupled to the bus 820 via signal line 828. In oneembodiment, the comparison module 807 determines whether a soundpressure level of the microphone signal is the same as the target soundsignature. For example, the comparison module 807 measures values forthe sound pressure level of the microphone signal at various frequenciesand determines whether the values for the sound pressure level are thesame as the target sound signature at various frequencies. If themicrophone signal has the same sound pressure level as the target soundsignature, the comparison module 807 determines that the microphonesignal matches the target sound signature data 839.

If the microphone signal has a sound pressure level different from thetarget sound signature, then the comparison module 807 determineswhether the microphone signal has a sound pressure level within a targetsound range. For example, the comparison module 807 determines whetherthe values for the sound pressure level of the microphone signal arebetween a lower limit and an upper limit of the target sound range. Ifthe microphone signal has a sound pressure level within the target soundrange, the comparison module 807 determines that the microphone signalmatches the target sound signature data 839. However, if the microphonesignal has a sound pressure level outside the target sound range, thecomparison module 807 determines that the microphone signal does notmatch the target sound signature data 839.

If the microphone signal matches the target sound signature data 839indicating a sound wave generated by the audio reproduction device 504matches either the target sound signature or a sound signature withinthe target sound range, the comparison module 807 determines that theaudio reproduction device 504 does not need to be tuned. However, if themicrophone signal does not match the target sound signature data 839, inone embodiment, the comparison module 807 determines differences betweenthe microphone signal and a target sound signature. For example, thecomparison module 807 determines differences between a first frequencyresponse of the microphone signal and a second frequency response of thetarget sound signature. In another example, the comparison module 807determines differences between a sound pressure level of the microphonesignal and the target sound signature at various frequencies. In anotherembodiment, the comparison module 807 determines differences between themicrophone signal and a sound signature within a target sound range. Ineither embodiment, the comparison module 807 sends the determineddifferences to the filter module 811. The comparison module 807generates a mismatching signal and sends the mismatching signal to thesuggestion module 809.

The suggestion module 809 is code and routines that, when executed bythe processor 508, provides one or more suggestions to a second user502. The suggestion module 809 is communicatively coupled to the bus 820via signal line 830. In one embodiment, the suggestion module 809receives a mismatching signal from the comparison module 807 andgenerates one or more suggestions responsive to the mismatching signal.For example, the suggestion module 809 retrieves suggestion data 845from the second storage 516 and generates one or more suggestions basedon the retrieved suggestion data 845. The suggestions are instructionsfor assisting the second user 502 to adjust the audio reproductiondevice 504 so that a better sound quality is achieved in the audioreproduction device 504. For example, the suggestions are directions forrepositioning the audio reproduction device 504 on the user's head sothat a better seal is formed and the target sound signature is achieved.The suggestion module 809 sends the one or more suggestions to thesecond GUI module 514, causing the second GUI module 514 to generategraphical data for providing a GUI that depicts the one or moresuggestions to the second user 502.

Examples of a suggestion include, but are not limited to, adjusting aposition of a cup 602, reconnecting the audio reproduction device 504 toa second client 506, etc. In other embodiments, other suggestions arepossible.

The filter module 811 is code and routines that, when executed by theprocessor 508, filters audio signals. The filter module 811 iscommunicatively coupled to the bus 820 via signal line 832. In oneembodiment, the filter module 811 receives the microphone signal fromthe microphone signal module 803 and the determined differences betweenthe microphone signal and a target sound signature or a sound signaturewithin a target sound range from the comparison module 807. The filtermodule 811 retrieves target sound signature data 839 describing a targetsound signature or a sound signature within a target sound range fromthe second storage 516.

In one embodiment, the filter module 811 creates a digital filter basedon one or more of the microphone signal, the target sound signature, thetarget sound range and the determined differences between the microphonesignal and the target sound signature or a sound signature within thetarget sound range. The audio signal filtered by the digital filtercauses the driver 702 (FIG. 7) to reproduce a sound wave that eithermatches the target sound signature or a sound signature within thetarget sound range. For example, the filter module 811 creates a digitalfilter so that when an audio signal is inputted to the digital filter, afiltered audio signal is generated whose corresponding sound wavereproduced by the audio reproduction device 504 matches either thetarget sound signature or a sound signature within the target soundrange. In other words, the filter module 811 creates a digital filterand applies the digital filter to emulate a target sound signature or asound signature within a target sound range, so that a sound wavereproduced by the audio reproduction device 504 either matches thetarget sound signature or a sound signature within the target soundrange.

The second storage 516 stores data that includes target sound signaturedata 839, audio signal data 841, first GUI data 843 and suggestion data845. The target sound signature data 839 and the audio signal data 841are described above. The first GUI data 843 is graphical data forproviding one or more GUIs to a second user 502. For example, the firstGUI data 843 includes graphical data for providing a GUI that depictsone or more suggestions. The suggestion data 845 is data describing oneor more suggestions. Example suggestions are described above.

FIG. 9 is a graphical representation 900 illustrating a target soundsignature and a target sound range according to one embodiment. FIG. 9depicts a target sound signature 904 (e.g., a sound pressure level (SPL)of a target sound wave) normalized at 1,000 hertz (Hz). FIG. 9 alsoincludes an upper limit 902 and a lower limit 906 for the target soundsignature 904. In the illustrated embodiment, a target sound range is arange between the upper limit 902 and the lower limit 906. In thedepicted embodiment, the frequency responses are measured using the Headand Torso Simulator (HATS) manufactured by Brüel & Kjaer. In oneembodiment, capture of acoustic data is performed using SOUNDCHECK®manufactured by Listen, Inc. Another example of a target sound signatureand target sound range are illustrated with reference to FIG. 18.

FIG. 18 is a graphical representation 1800 illustrating a target soundsignature and a target sound range according to another embodiment. FIG.18 depicts a second example of a target sound signature 1804 (e.g., asound pressure level of a target sound wave) normalized at 1,000 hertz(Hz). FIG. 18 also includes an upper limit 1802 and a lower limit 1806for the target sound signature 1804. In the illustrated embodiment, atarget sound range is the range between the upper limit 1802 and thelower limit 1806.

FIGS. 10A and 10B are flowcharts illustrating a method 1000 for tuningan audio reproduction device 504 according to one embodiment. Referringto FIG. 10A, the second GUI module 514 retrieves 1005 first GUI data 843from the second storage 516 and sends the first GUI data 843 to adisplay (not shown) for presenting 1010 a GUI to the second user 502. Inone embodiment, the GUI depicts a message that notifies the second user502 that the audio quality of the audio reproduction device 504 is goingto be tested. Optionally, the second user 502 provides an input byclicking on a “test” button included in the GUI and testing beginsafterwards.

Optionally, the audio signal generator 801 receives 1012 an input fromthe second user 502. The audio signal generator 801 retrieves audiosignal data 841 from the second storage 516 and generates 1015 an audiosignal. In one embodiment, the audio signal generator 801 generates anaudio signal using the audio signal data 841 and sends the audio signalto the driver 702. The driver 702 converts the audio signal to a soundwave. The microphone 704 records the sound wave and generates amicrophone signal describing the sound wave. The microphone signalmodule 803 receives 1020 the microphone signal from the microphone 704and sends the microphone signal to the comparison module 807.

The target sound signature retrieval module 805 retrieves 1025 targetsound signature data 839 from the second storage 516. The target soundsignature retrieval module 805 sends the target sound signature data 839to the comparison module 807. The comparison module 807 determines 1030whether the microphone signal matches the target sound signature data839. If the microphone signal matches the target sound signature data839, the method 1000 ends. Otherwise, the method 1000 moves to step1035.

Referring to FIG. 10B, the suggestion module 809 determines 1035 whetherone or more suggestions have been provided to the second user 502. Ifone or more suggestions have been provided to the second user 502, themethod 1000 moves to step 1055. Otherwise, the method 1000 moves to step1040. Turning to step 1040, the suggestion module 809 retrievessuggestion data 845 from the second storage 516 and generates one ormore suggestions from the suggestion data 845. The suggestion module 809sends the one or more suggestions to the second GUI module 514. Thesecond GUI module 514 generates 1045 graphical data for providing a GUIdepicting the one or more suggestions. The second GUI module 514 sendsthe graphical data to a display (not shown) for presenting 1050 the GUIto the second user 502. The method 1000 then moves to step 1020.

Turning to step 1055, the filter module 811 applies a digital filter toemulate a target sound signature or a sound signature within a targetsound range. For example, the filter module 811 filters audio signalsusing the digital filter before sending the audio signals to the audioreproduction device 504 for playback, where the filtered audio signalscause the audio reproduction device 504 to reproduce a sound wave thatmatches either the target sound signature or a sound signature withinthe target sound range.

FIGS. 11-17 are graphical representations illustrating example audioreproduction devices 504 (FIG. 5) according to various embodiments. FIG.11 is a graphical representation 1100 of an example audio reproductiondevice 504 according to one embodiment. FIG. 12 is a cross-sectionalview 1200 of a cup assembly of an example audio reproduction device 504according to one embodiment. FIG. 13 is a graphical representation 1300of a cup 602 in an example audio reproduction device 504 according toone embodiment. The cup 602 includes a cup backing 1302 and an exampleear pad 706. FIG. 14 is a graphical representation 1402 of an ear padmounting bracket 1400 in an example audio reproduction device 504according to one embodiment. FIG. 15 is a graphical representation 1500of an example driver 702 mounted in a cup housing according to oneembodiment. FIG. 16 is a graphical representation 1600 of a cup housing1602 without a driver 702 according to one embodiment. FIG. 17 is agraphical representation 1700 of a cup housing 1602 without a driver 702according to another embodiment.

In the foregoing description, for purposes of explanation, numerousspecific details are set forth in order to provide a thoroughunderstanding of the specification. It will be apparent, however, to oneskilled in the art that the embodiments can be practiced without thesespecific details. In other instances, structures and devices are shownin block diagram form in order to avoid obscuring the specification. Forexample, the specification is described in one embodiment below withreference to user interfaces and particular hardware. However, thedescription applies to any type of computing device that can receivedata and commands, and any peripheral devices providing services.

Reference in the specification to “one embodiment” or “an embodiment”means that a particular feature, structure, or characteristic describedin connection with the embodiment is included in at least oneembodiment. The appearances of the phrase “in one embodiment” in variousplaces in the specification are not necessarily all referring to thesame embodiment.

Some portions of the detailed descriptions that follow are presented interms of algorithms and symbolic representations of operations on databits within a computer memory. These algorithmic descriptions andrepresentations are the means used by those skilled in the dataprocessing arts to most effectively convey the substance of their workto others skilled in the art. An algorithm is here, and generally,conceived to be a self-consistent sequence of steps leading to a desiredresult. The steps are those requiring physical manipulations of physicalquantities. Usually, though not necessarily, these quantities take theform of electrical or magnetic signals capable of being stored,transferred, combined, compared and otherwise manipulated. It has provenconvenient at times, principally for reasons of common usage, to referto these signals as bits, values, elements, symbols, characters, terms,numbers or the like.

It should be borne in mind, however, that all of these and similar termsare to be associated with the appropriate physical quantities and aremerely convenient labels applied to these quantities. Unlessspecifically stated otherwise as apparent from the following discussion,it is appreciated that throughout the description, discussions utilizingterms such as “processing” or “computing” or “calculating” or“determining” or “displaying,” or the like, refer to the action andprocesses of a computer system, or similar electronic computing device,that manipulates and transforms data represented as physical(electronic) quantities within the computer system's registers andmemories into other data similarly represented as physical quantitieswithin the computer system memories or registers or other suchinformation storage, transmission or display devices.

The specification also relates to an apparatus for performing theoperations herein. This apparatus may be specially constructed for therequired purposes, or it may comprise a general-purpose computerselectively activated or reconfigured by a computer program stored inthe computer. Such a computer program may be stored in acomputer-readable storage medium, such as, but is not limited to, anytype of disk including floppy disks, optical disks, compact discread-only memories (CD-ROMs), magnetic disks, read-only memories (ROMs),random access memories (RAMs), erasable programmable read-only memories(EPROMs), electrically erasable programmable read-only memories(EEPROMs), magnetic or optical cards, Flash memories including UniversalSerial Bus (USB) keys with non-volatile memory or any type of mediasuitable for storing electronic instructions, each coupled to a computersystem bus.

Some embodiments can take the form of an entirely hardware embodiment,an entirely software embodiment or an embodiment containing bothhardware and software elements. A preferred embodiment is implemented insoftware, which includes, but is not limited to, firmware, residentsoftware, microcode, etc.

Furthermore, some embodiments can take the form of a computer programproduct accessible from a computer-usable or computer-readable mediumproviding program code for use by or in connection with a computer orany instruction execution system. For the purposes of this description,a computer-usable or computer-readable medium can be any apparatus thatcan contain, store, communicate, propagate, or transport the program foruse by or in connection with the instruction execution system,apparatus, or device.

A data processing system suitable for storing and/or executing programcode will include at least one processor coupled directly or indirectlyto memory elements through a system bus. The memory elements can includelocal memory employed during actual execution of the program code, bulkstorage, and cache memories that provide temporary storage of at leastsome program code in order to reduce the number of times code must beretrieved from bulk storage during execution.

Input/output “I/O” devices (including, but not limited to, keyboards,displays, pointing devices, etc.) can be coupled to the system eitherdirectly or through intervening I/O controllers.

Network adapters may also be coupled to the system to enable the dataprocessing system to become coupled to other data processing systems orremote printers or storage devices through intervening private or publicnetworks. Modems, cable modems and Ethernet cards are just a few of thecurrently available types of network adapters.

Finally, the algorithms and displays presented herein are not inherentlyrelated to any particular computer or other apparatus. Variousgeneral-purpose systems may be used with programs in accordance with theteachings herein, or it may prove convenient to construct morespecialized apparatus to perform the required method steps. The requiredstructure for a variety of these systems will appear from thedescription below. In addition, the specification is not described withreference to any particular programming language. It will be appreciatedthat a variety of programming languages may be used to implement theteachings of the various embodiments as described herein.

The foregoing description of the embodiments has been presented for thepurposes of illustration and description. It is not intended to beexhaustive or to limit the specification to the precise form disclosed.Many modifications and variations are possible in light of the aboveteaching. It is intended that the scope of the embodiments be limitednot by this detailed description, but rather by the claims of thisapplication. As will be understood by those familiar with the art, theexamples may be embodied in other specific forms without departing fromthe spirit or essential characteristics thereof. Likewise, theparticular naming and division of the modules, routines, features,attributes, methodologies and other aspects are not mandatory orsignificant, and the mechanisms that implement the description or itsfeatures may have different names, divisions and/or formats.Furthermore, as will be apparent to one of ordinary skill in therelevant art, the modules, routines, features, attributes, methodologiesand other aspects of the specification can be implemented as software,hardware, firmware or any combination of the three. Also, wherever acomponent, an example of which is a module, of the specification isimplemented as software, the component can be implemented as astandalone program, as part of a larger program, as a plurality ofseparate programs, as a statically or dynamically linked library, as akernel-loadable module, as a device driver, and/or in every and anyother way known now or in the future to those of ordinary skill in theart of computer programming. Additionally, the specification is in noway limited to implementation in any specific programming language, orfor any specific operating system or environment. Accordingly, thedisclosure is intended to be illustrative, but not limiting, of thescope of the specification, which is set forth in the appended claims.

What is claimed is:
 1. A method comprising: generating an output signalthat can be converted into a sound wave by a headphone; sending theoutput signal to the headphone; receiving an input signal from amicrophone carried by the headphone that represents the sound waveproduced by the headphone from the output signal; determining whetherthe input signal matches a target sound signature by determining whetherone or more values for a sound pressure level of the input signal arebetween a lower limit and an upper limit of a target sound range;responsive to determining that the input signal does not match thetarget sound signature, generating one or more suggestions for assistinga user of the headphone to adjust the headphone so that differencesbetween the input signal and the target sound signature are reduced, andproviding the one or more suggestions to the user via a graphical userinterface that is depicted on a display of a client device that iscommunicatively coupled to the headphone; and wherein the one or moresuggestions includes adjusting the position of a cup of the headphone onthe head of the user.
 2. The method of claim 1, wherein determiningwhether the input signal matches a target sound signature includesdetermining whether a first sound pressure level of the input signalmatches a second sound pressure level of the target sound signature. 3.The method of claim 2, wherein the first sound pressure level of theinput signal and the second sound pressure level of the target soundsignature are compared at two or more frequencies.
 4. The method ofclaim 1, further comprising applying a digital filter to the outputsignal responsive to determining that the input signal does not matchthe target sound signature.
 5. The method of claim 4, wherein applyingthe digital filter further comprises: determining one or moredifferences between the input signal and the target sound signature; andwherein the digital filter is based on one or more of the input signal,the target sound signature and the determined differences between theinput signal and the target sound signature.
 6. The method of claim 4,wherein applying the digital filter further comprises: inputting theoutput signal to the digital filter; and generating a filtered outputsignal whose corresponding sound wave when reproduced by the headphonematches the target sound signature.
 7. The method of claim 1, whereinthe target sound signature is normalized at 1,000 hertz.